// 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图，计算按此排列的柱子，下雨之后能接多少雨水。



var trap = function(height) {
    let left = 0;
    let right = height.length - 1;
    let res = 0;
    let leftMax = 0;
    let rightMax = 0;
    while (left < right) {
        if (height[left] < height[right]) {
            leftMax = Math.max(height[left], leftMax);
            res += leftMax - height[left];
            left++;
        } else {
            rightMax = Math.max(height[right], rightMax);
            res += rightMax - height[right];
            right--;
        }
    }
    return res;
};